package com.tedu.cn.weather;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.List;

/**
 * 封装  对  数据库的操作
 * 在子类中，直接调用   方法
 *
 */
public class BaseDAO {

    /**
     * 封装对数据库的增删改的  操作
     * @param sql
     * @param objects  缺省参数  需要对sql中?  一一对应
     * @return
     */
    public int update(String sql,Object... objects){
        int i = 0;
        //  获取连接
        try {
            Connection connection = JDBCUtill.getConnection();
            //预编译sql
            PreparedStatement prp = JDBCUtill.getPrp(connection, sql);
            //添加参数
            for (int j = 0;j<objects.length;j++){
                prp.setObject(j+1,objects[j]);
            }
            //执行sql
            i = JDBCUtill.upodata(prp);
            //关闭  释放资源
            JDBCUtill.close(null,prp,connection);

        }catch (Exception E){

        }
        return i;

    }

    /**
     * 封装对数据库的查询操作
     * @param classname
     * @param sql
     * @param objects
     * @return
     */
    public ResultSet get(String sql,Object... objects){
        //  获取连接
        try {
            Connection connection = JDBCUtill.getConnection();
            //预编译sql
            PreparedStatement prp = JDBCUtill.getPrp(connection, sql);
            //添加参数
            for (int j = 0;j<objects.length;j++){
                prp.setObject(j+1,objects[j]);
            }
            //执行sql
            ResultSet query = JDBCUtill.query(prp);

            //关闭  释放资源
           // JDBCUtill.close(query,prp,connection);
            return query;
        }catch (Exception E){

        }
        return null;
    }


    /**
     * 查询数据库的条数   返回值 是  int
     * @param classname
     * @param sql
     * @param objects
     * @return
     */
    public int getReINT(String sql,Object... objects){
        int i = 0;
        //  获取连接
        try {
            Connection connection = JDBCUtill.getConnection();
            //预编译sql
            PreparedStatement prp = JDBCUtill.getPrp(connection, sql);
            //添加参数
            for (int j = 0;j<objects.length;j++){
                prp.setObject(j+1,objects[j]);
            }
            //执行sql
            ResultSet query = JDBCUtill.query(prp);
            //解析
            query.next();
            i = query.getInt(1);
            //关闭  释放资源
            JDBCUtill.close(query,prp,connection);

        }catch (Exception E){

        }
        return i;
    }

}
